The design of current third generation (3G), and enhanced 3G, wireless access networks is driven by the need for high speed internet access. Increasingly, consumers are moving to wireless communications for the delivery of services and applications using conventional TCP/IP (Transmission Control Protocol/Internet Protocol). This trend is growing with the increase in internet-enabled wireless devices available to users, including cellular telephones, Personal Digital Assistants (PDAs), and other devices. The applications that are not available or contemplated for wireless devices include access to the World Wide Web, video telephony, voice over IP, e-mail, etc.
However, wireless networks, whether fixed or mobile, suffer certain disadvantages over their wired counterparts in the delivery of IP applications. This is mainly due to the significantly greater lost or dropped packets in wireless networks, as compared to wireline. Such losses can be largely attributed to the changeable quality of the channel over which IP packets are sent. The wireless channel condition is highly dependent on the location of the wireless terminal in relation to its base station, and extraneous external or atmospheric interference. The combination of these factors can have a significant effect on the delivery of data services over wireless channels.
A further complication in wireless communication networks is caused by channels that are shared among multiple users. The high burstiness of packet-based applications requires statistical multiplexing on the forward link for increased system capacity and throughput on such channels.
A forward link packet scheduler is required to manage the output queues to provide the desired forwarding of packets to users in a wireless network. Generally, a forward link scheduler performs two main functions. It makes scheduling decisions, using a scheduling algorithm, to determine which users' queued traffic should be scheduled for each transmission slot, and decides the link layer (layer 2) frame length/size (i.e., how many bits of data) of the selected user's traffic can be sent in each slot.
Current wireless packet schedulers have a very limited capability for handling Quality of Service (QoS) at a per application or service level, and are completely unable to support QoS at a per packet level. In terms of scheduling algorithms, current schedulers, such as those developed under the edma2000 1xRTT standard and the Universal Mobile Telecommunications System (UMTS), are purely driven by latency of traffic to users, or, in the case of High Data Rate (HDR), are driven by channel condition with fairness consideration. These algorithms do not consider per packet Quality of Service (QoS). In terms of determining the layer 2 frame length/size, current systems determine the layer 2 frame length either by fixed physical layer frame structure (e.g., 1xRTT, UMTS), or by link adaptation which considers both physical layer frame structure and channel condition (e.g., HDR, and Enhanced Data Rates for GSM Evolution (EDGE)). In addition, current schedulers are unable to provide a tight match between per IP QoS and resource allocation, are unable to support multiplexing on a packet basis, and are unable to support per packet based Automatic Repeat reQuests (ARQs). These existing wireless packet schedulers do not take into consideration both per packet QoS and link adaptation.
It is, therefore, desirable to provide a scheduler that can support per packet QoS, can support link adaptation on a per packet basis, can support packet-based multiplexing, and can support per packet-based ARQs.